function isObjectOrArray(value: any): boolean {
	return typeof value === 'object' && value !== null;
}
// 判断两个值是否相等
export function isEqual(value1: any, value2: any): boolean {
	// 基本类型比较
	if (value1 === value2) {
		return true;
	}
	// 判断是否都是对象或数组
	if (isObjectOrArray(value1) && isObjectOrArray(value2)) {
		// 比较属性个数
		if (Object.keys(value1).length !== Object.keys(value2).length) {
			return false;
		}
		// 递归比较每个属性
		for (let key in value1) {
			if (!(key in value2) || !isEqual(value1[key], value2[key])) {
				return false;
			}
		}
		return true;
	}
	// 其他情况返回 false
	return false;
}